module majiang.Controllers {
    /**
     * Playing
     * 游戏进行时的控制器
     */
    export class Play {
        static view:majiang.Views.Play;

        /**
         * 点击了 胡牌区的麻将牌
         */
        static onTapHupai(pai:majiang.Views.MajiangBtn){
            majiang.Controllers.Play.view.hupaiArea.removeMajiang(pai);
            
            //记录已经使用的牌id
            majiang.Datas.Playing.shiyongPai.addPai(pai.paiId);
        }

        /**
         * 点击了 待选区的麻将牌
         */
        static onTapXuanpai(pai:majiang.Views.MajiangBtn){
            if (majiang.Controllers.Play.view.hupaiArea.majiangGroup.numChildren >= 11) {
                return
            }

            majiang.Controllers.Play.view.xuanArea.removeMajiang(pai);

            //放入胡牌区
            majiang.Controllers.Play.view.hupaiArea.addMajiang(pai);

            //将下一张盖牌翻起
            majiang.Controllers.Play.view.xuanArea.openNextGaipai();

            //补充一张牌
            var newPai:majiang.Views.MajiangBtn = majiang.Datas.Playing.majiangChi.shift();
            newPai.setMajingpai(26,"gai","xuan");
            majiang.Controllers.Play.view.xuanArea.addMajiang(newPai);
        }


        /**
         * 游戏开始 paly数据初始化
         */
        static initPlayGameData(){
            majiang.Datas.Playing.allHu = 0;
            majiang.Datas.Playing.allFan = 0;
            //随机缺门
            majiang.Datas.Playing.randomQuePai = Math.floor(Math.random() * 3) + 1;
            majiang.Datas.Playing.shengyuPai.removeAllPai();
            majiang.Datas.Playing.shiyongPai.removeAllPai();
            majiang.Datas.Playing.shengyuPai.initPai();
        }

        /**
         * canHupai
         * 能胡牌
         */
        static isCanHupai(isCan:boolean) {
            majiang.Controllers.Play.view.isCanHupai(isCan);
        }


        /**
         * 游戏结束
         */
        static gameOver(){
            majiang.Controllers.GameMain.play.gameOver();
        }

        /**
         * 游戏play开始
         */
        static gameStart(){
            majiang.Controllers.GameMain.closeBalance();
            majiang.Controllers.GameMain.play.gameStart();
        }
    }
}